class DragonEggRenderer : public IBlockRenderer
{
public:
	ITexture *Texture;

	DragonEggRenderer(ITexture *texture) :
		Texture(texture)
	{
	}

	int GetTypeData(const int &data) { return data; }

	void Render(Schematic *schematic, RendererBase *renderer, const Block &block, const Point3i &position)
	{
		Point2i coords(7 * 16, 10 * 16);
		renderer->Draw(Box(Texture, Point3i(4, 1, 4), Point3i(6, 0, 6)).SetCoordsFromBounds(coords));
		renderer->Draw(Box(Texture, Point3i(6, 1, 6), Point3i(5, 1, 5)).SetCoordsFromBounds(coords));
		renderer->Draw(Box(Texture, Point3i(8, 1, 8), Point3i(4, 2, 4)).SetCoordsFromBounds(coords));
		renderer->Draw(Box(Texture, Point3i(10, 2, 10), Point3i(3, 3, 3)).SetCoordsFromBounds(coords));
		renderer->Draw(Box(Texture, Point3i(12, 3, 12), Point3i(2, 5, 2)).SetCoordsFromBounds(coords));
		renderer->Draw(Box(Texture, Point3i(14, 5, 14), Point3i(1, 8, 1)).SetCoordsFromBounds(coords));
		renderer->Draw(Box(Texture, Point3i(12, 2, 12), Point3i(2, 13, 2)).SetCoordsFromBounds(coords));
		renderer->Draw(Box(Texture, Point3i(6, 1, 6), Point3i(5, 15, 5)).SetCoordsFromBounds(coords));
	}
};